import { CSLine, css2dInputLable } from '@amcax/base';

export enum State {
  NONE,
  DRAW,
  FINISH,
}
export enum Type {
  NONE,
  POINT,
  LINE,
}

export type MouseState = State.NONE | State.DRAW | State.FINISH;
export type ActionState = Type.LINE | Type.POINT | Type.NONE;

export interface TrackingData {
  line: CSLine;
  label: css2dInputLable;
}

export interface ExtrudeDialogProps {
  title: string;
  onClose: () => void;
  LineObj?: CSLine;
}

export enum PlainOptions {
  // 构造线
  Construction = 2,
}
export type Constraint = {
  nowGeoRelation: string[];
  geoRelation: number;
  select: number[];
  lineLength: number;
  lineAngle: number;
};
export enum LinePickEve {
  SKETCH_PICK = 'SketchLine',
  SKETCH_LINE_INFO = 'SelectLineInfo',
  SKETCH_SELECT_PICK = 'PickSelectInfo',
}
export const labelValues = {
  1: '尺寸',
  2: '横向',
  3: '竖向',
  4: '平行',
  5: '垂直',
  6: '相切',
  7: '距离',
  8: 'x轴尺寸',
  9: 'y轴尺寸',
  10: '角度',
  11: '半径',
  12: '相等',
  13: '重合',
  14: '对称',
  15: '点在线上',
  16: '固定',
};
